package com.ltkj.ticket.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ltkj.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;

/**
 * @Author gushaoliang
 * @Date 2023/9/1 14:58
 * @PackageName:com.ltkj.ticket.domain.vo
 * @ClassName: TicVenuesPeriodFrontListVO
 * @Description: TODO
 * @Version 1.0
 */
@ApiModel(value = "小程序场馆信息预约时间段列表")
public class TicVenuesPeriodFrontListVO  {
    /** 方案时间id */
    @ApiModelProperty("时间段id")
    private Long periodId;

    /** 数据状态 */
    @Excel(name = "数据状态")
    @ApiModelProperty("数据状态")
    private String isDel;

    /** 场馆id */
    @Excel(name = "场馆id")
    @ApiModelProperty("场馆id")
    private Long ticOtherBaseId;

    /** 方案id */
    @Excel(name = "方案id")
    @ApiModelProperty("方案id")
    private Long venuesProgrammeId;

    /** 开始时间 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开始时间")
    private Time periodTimeStart;

    /** 结束时间 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("结束时间")
    private Time periodTimeEnd;

    /** 价格 */
    @Excel(name = "价格")
    @ApiModelProperty("价格")
    private BigDecimal periodPrice;

    /** 总库存 */
    @Excel(name = "总库存")
    @ApiModelProperty("总库存")
    private Long periodStockCount;

    /** 场馆门票id */
    @Excel(name = "场馆门票id")
    @ApiModelProperty("场馆门票id")
    private Long venuesId;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("日期")
    private Date venuesDate;

    /** 剩余库存 */
    @Excel(name = "剩余库存")
    @ApiModelProperty("剩余库存")
    private Long periodStockResidue;
    @ApiModelProperty("预约次数")
    private int userIdReservationCount;
    @ApiModelProperty("配置表id")
    private Long ticVenuesConfigId;;

    public int getUserIdReservationCount() {
        return userIdReservationCount;
    }

    public void setUserIdReservationCount(int userIdReservationCount) {
        this.userIdReservationCount = userIdReservationCount;
    }

    private String status;//0正常，1已过期，2已约满

    public Long getPeriodId() {
        return periodId;
    }

    public void setPeriodId(Long periodId) {
        this.periodId = periodId;
    }

    public String getIsDel() {
        return isDel;
    }

    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }

    public Long getTicOtherBaseId() {
        return ticOtherBaseId;
    }

    public void setTicOtherBaseId(Long ticOtherBaseId) {
        this.ticOtherBaseId = ticOtherBaseId;
    }

    public Long getVenuesProgrammeId() {
        return venuesProgrammeId;
    }

    public void setVenuesProgrammeId(Long venuesProgrammeId) {
        this.venuesProgrammeId = venuesProgrammeId;
    }

    public Time getPeriodTimeStart() {
        return periodTimeStart;
    }

    public void setPeriodTimeStart(Time periodTimeStart) {
        this.periodTimeStart = periodTimeStart;
    }

    public Time getPeriodTimeEnd() {
        return periodTimeEnd;
    }

    public void setPeriodTimeEnd(Time periodTimeEnd) {
        this.periodTimeEnd = periodTimeEnd;
    }

    public BigDecimal getPeriodPrice() {
        return periodPrice;
    }

    public void setPeriodPrice(BigDecimal periodPrice) {
        this.periodPrice = periodPrice;
    }

    public Long getPeriodStockCount() {
        return periodStockCount;
    }

    public void setPeriodStockCount(Long periodStockCount) {
        this.periodStockCount = periodStockCount;
    }

    public Long getVenuesId() {
        return venuesId;
    }

    public void setVenuesId(Long venuesId) {
        this.venuesId = venuesId;
    }

    public Date getVenuesDate() {
        return venuesDate;
    }

    public void setVenuesDate(Date venuesDate) {
        this.venuesDate = venuesDate;
    }

    public Long getPeriodStockResidue() {
        return periodStockResidue;
    }

    public void setPeriodStockResidue(Long periodStockResidue) {
        this.periodStockResidue = periodStockResidue;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getTicVenuesConfigId() {
        return ticVenuesConfigId;
    }

    public void setTicVenuesConfigId(Long ticVenuesConfigId) {
        this.ticVenuesConfigId = ticVenuesConfigId;
    }

    @Override
    public String toString() {
        return "TicVenuesPeriodFrontListVO{" +
                "periodId=" + periodId +
                ", isDel='" + isDel + '\'' +
                ", ticOtherBaseId=" + ticOtherBaseId +
                ", venuesProgrammeId=" + venuesProgrammeId +
                ", periodTimeStart=" + periodTimeStart +
                ", periodTimeEnd=" + periodTimeEnd +
                ", periodPrice=" + periodPrice +
                ", periodStockCount=" + periodStockCount +
                ", venuesId=" + venuesId +
                ", venuesDate=" + venuesDate +
                ", periodStockResidue=" + periodStockResidue +
                ", userIdReservationCount=" + userIdReservationCount +
                ", ticVenuesConfigId=" + ticVenuesConfigId +
                ", status='" + status + '\'' +
                '}';
    }
}